package cn.tedu.ivos.vehicle.pojo.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.Date;

/**
 * 车辆实体类
 */
@Data
public class VehicleVO {

    /**
     * 车辆ID，主键
     */
    @Schema(description = "车辆id")
    private Long id;

    /**
     * 车辆品牌
     */
    @Schema(description = "车辆品牌")
    private String brand;

    /**
     * 车牌号
     */
    @Schema(description = "车牌号")
    private String license;

    /**
     * 车辆型号
     */
    @Schema(description = "车辆型号")
    private String model;

    /**
     * 车辆识别码
     */
    @Schema(description = "车辆识别码")
    private String code;

    /**
     * 车辆排量
     */
    @Schema(description = "车辆排量")
    private String displacement;

    /**
     * 车辆状态：空闲1 占用2
     */
    @Schema(description = "车辆状态：空闲1 占用2")
    private String status;

    /**
     * 车辆类型
     */
    @Schema(description = "车辆类型")
    private String type;

    /**
     * 车辆颜色
     */
    @Schema(description = "车辆颜色")
    private String color;

    /**
     * 里程数（单位：公里）
     */
    @Schema(description = "里程数")
    private String kilometers;

    /**
     * 上牌时间
     */
    @Schema(description = "上牌时间")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "Asia/Shanghai")
    private Date regTime;

    /**
     * 购买时间
     */
    @Schema(description = "购买时间")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "Asia/Shanghai")
    private Date buyTime;

    /**
     * 购买价格（单位：元）
     */
    @Schema(description = "购买价格")
    private String price;

    /**
     * 电池类型
     */
    @Schema(description = "电池类型")
    private String batteryType;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "Asia/Shanghai")
    @Schema(description = "创建时间")
    private Date createTime;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "Asia/Shanghai")
    @Schema(description = "更新时间")
    private Date updateTime;

    /**
     * 电子围栏绑定状态：已绑定1 未绑定0
     */
    @Schema(description = "电子围栏绑定状态：已绑定1 未绑定0")
    private String geofenceBindStatus;

    /**
     * 电子围栏ID
     */
    @Schema(description = "电子围栏id")
    private Long geofenceId;
}